package models

import "time"

type GroupState int

const (
	GROUP_INIT        GroupState = iota //初始状态
	GROUP_ING                           //进行中
	GROUP_FINISH                        //已解决完成
	GROUP_FAIL_FINISH                   //未解决完成
)

// WkbGroup 群聊
type WkbGroup struct {
	Model
	GroupID         string    `gorm:"unique;column:group_id;type:varchar(128);not null" json:"group_id"` // 用户雪花ID，采用雪花算法
	GroupType       int       `gorm:"column:group_type;type:tinyint(4)" json:"group_type"`               // 1 群聊；2 私聊
	Name            string    `gorm:"column:name;type:varchar(255)" json:"name"`                         // 群名称
	State           int       `gorm:"column:state;type:tinyint(4)" json:"state"`                         // 0初始状态,1进行中,2完成
	Notice          string    `gorm:"column:notice;type:text" json:"notice"`                             // 群公告
	UserId          int       `gorm:"column:user_id;type:int(10)" json:"user_id"`                        // 如果是私聊，则记录群主的用户id
	OtherUserId     int       `gorm:"column:other_user_id;type:int(10)" json:"other_user_id"`            // 如果是私聊，则记录对方的用户id
	LastChatId      int       `gorm:"column:last_chat_id" json:"last_chat_id"`                           // 关联本群聊最后一句聊天的id
	LastFromUserId  string    `gorm:"column:last_from_user_id" json:"last_from_user_id"`                 //
	LastObjectName  string    `gorm:"column:last_object_name" json:"last_object_name"`                   //
	LastContentText string    `gorm:"column:last_content_text" json:"last_content_text"`                 //
	LastChatTime    time.Time `gorm:"column:last_chat_time" json:"last_chat_time"`                       // 关联本群聊最后一句聊天的时间
}

//  `last_from_user_id` varchar(64) NOT NULL DEFAULT '',
//  `last_object_name` varchar(64) NOT NULL DEFAULT '',
//  `last_content_text` text NOT NULL,

func (w *WkbGroup) TableName() string {
	return "wkb_im_group"
}
